﻿namespace Deferred.Library.Scene
{

    /// <summary>
    /// 
    /// </summary>
    /// <param name="o"></param>
    public delegate void DrawableObjectAddedEvent(DrawableObject o);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="t"></param>
    public delegate void TerrainAddedEvent(Terrain t);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void DirectionalLightAddedEvent(DirectionalLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void PointLightAddedEvent(PointLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void SpotLightAddedEvent(SpotLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void AmbientLightAddedEvent(AmbientLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="o"></param>
    public delegate void DrawableObjectDeletedEvent(DrawableObject o);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="t"></param>
    public delegate void TerrainDeletedEvent(Terrain t);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void DirectionalLightDeletedEvent(DirectionalLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void PointLightDeletedEvent(PointLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void SpotLightDeletedEvent(SpotLight light);
    /// <summary>
    /// 
    /// </summary>
    /// <param name="light"></param>
    public delegate void AmbientLightDeletedEvent(AmbientLight light);

}